Card computing devices may provide identification, authentication, data storage and application processing in a variety of systems from mobile phones to automated teller machines and drivers licenses. Additionally, card computing devices, such as smartcards, may include various applications that utilize mobile communications, such as credit payment applications, ticketing agents, health/medical agents, encryption agents, and BankID public key infrastructure (PKI) applications.
To operate properly, many mobile devices include information regarding mobile network operator (MNO) subscriptions required for mobile communications. In general, a mobile network is used not only for human communication (e.g., mobile voice calls, text messaging, etc.), but also for Internet-of-Things/Machine-to-Machine (IoT/M2M) communication (e.g., for logistics, fleet management, automotive safety, healthcare, and home electricity metering).
Many mobile phones require a universal integrated circuit card (UICC), embedded universal integrated circuit card (eUICC), or other smart card that includes a Subscriber Identity Module (SIM), or another similar module, to connect to, and function with, a mobile network. A SIM may be considered a logical module that runs on an UICC. The SIM may include identification information and/or credentials, such as the International Mobile Subscriber Identity (IMSI), for authenticating the mobile device (e.g., as a subscriber) to the mobile network. Without the SIM the mobile device may not be able to connect to the mobile network. Traditionally, a UICC was able removable, such as to allow a mobile subscriber to move a SIM from one device to another. A mobile device user may have been able to change mobile devices by removing the SIM card from one mobile device and inserting it into another mobile device. Alternatively, a user might use the same mobile device with different SIMs, such as to reduce roaming costs when using a mobile phone in a different country.
Various specifications and standards define interfaces and protocols for use with mobile communication enabled card computing devices. For example, the European Telecommunications Standards Institute (ETSI) and the International Standards Organization along with the International Electrotechnical Commission (ISO/IEC) have defined protocols and specifications relating to the communication between an application on a card computing device and a terminal application. Object oriented platform independent languages, such as Java, have become common development platforms for creating applications for card computing devices. For instance, Java Card™ is a small Java implementation for embedded devices including card computing devices.